package com.zwps.biz.domain.converter;

import com.zwps.biz.api.model.dto.dept.AddDeptDTO;
import com.zwps.biz.api.model.vo.auth.DeptInfoVO;
import com.zwps.biz.api.model.vo.dept.DeptTreeVO;
import com.zwps.biz.api.model.vo.dept.DeptVO;
import com.zwps.biz.dal.db.object.DeptDO;
import com.zwps.common.api.model.vo.LoginUserDeptVO;

import java.util.List;

import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;

/**
 * 
 * @ClassName: DepartConverter
 * @Description:
 * @author lyh
 * @date 2023年5月16日 下午11:02:28
 *
 */
@Mapper
public interface DeptConverter {

    DeptConverter INSTANCE = Mappers.getMapper(DeptConverter.class);

    DeptInfoVO toDeptInfoVO(DeptDO dept);
    
    DeptVO toDeptVO(DeptDO dept);
    
    @Mapping(source = "deptName", target = "name")
    DeptTreeVO toDeptTreeVO(DeptDO dept);
    
    LoginUserDeptVO toLoginUserDeptVO(DeptDO dept);

    DeptDO toDeptDO(AddDeptDTO dto);

    List<DeptVO> toDeptVOList(List<DeptDO> depts);
}
